#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
   File Name：    EmailNotification.py
   Author :       zyq
   CreateDate：   2024/7/12 16:10
   Remark :  邮件通知
-------------------------------------------------
"""

import zmail
from guitesting.config import cm


def send_report():
    """
    发送报告邮件。

    Args:
        无参数。

    Returns:
        无返回值，函数执行后将发送一封包含测试报告的邮件。

    Raises:
        无特定异常，但在执行过程中遇到错误时，将捕获异常并打印错误信息。

    """
    # 打开测试报告文件并读取内容
    with open(cm.REPORT_FILE, encoding='utf-8') as f:
        content_html = f.read()

    try:
        # 构造邮件内容
        mail = {
            'from': '2211484376@qq.com',
            'subject': '最新的测试报告邮件',
            'content_html': content_html,
            'attachments': [cm.REPORT_FILE, ]
        }

        # 创建邮件服务器实例
        server = zmail.server(*cm.EMAIL_INFO.values())

        # 发送邮件
        server.send_mail(cm.ADDRESSEE, mail)

        # 打印发送成功信息
        print("测试邮件发送成功！")

    except Exception as e:
        # 捕获异常并打印错误信息
        print("Error: 无法发送邮件，{}！", format(e))


if __name__ == "__main__":
    '''请先在config/conf.py文件设置QQ邮箱的账号和密码'''
    send_report()
